#ifndef TALK_SESSION_HEARTBAET_H_
#define TALK_SESSION_HEARTBAET_H_

#include "talk/xmpp/jid.h"
#include "talk/base/task.h"
#include "talk/xmpp/xmppengine.h"
#include "talk/xmpp/xmpptask.h"
#include "talk/xmllite/qname.h"
#include "talk/base/thread.h"

#include "talk/examples/crossfirewall/xmltask/xmlsendertask.h"

using talk_base::Task;
using buzz::Jid;
using buzz::XmppTask;

///////////////////////////////////////////////////////////////
using std::string;

typedef enum HEART_BEAT_STATE_
{
	HEART_BEAT_STOPPED,
	HEART_BEAT_STARTED
}HEART_BEAT_STATE;

class HeartBeatManager
{
public:
	HeartBeatManager();
	~HeartBeatManager(){}
	HEART_BEAT_STATE queryState();
	void setState(HEART_BEAT_STATE obj);
private:
	HEART_BEAT_STATE m_state;
	talk_base::CriticalSection m_crit;	
};

typedef class str::CXMLSenderTask PackageSenderTask;	//for old type compatible


#endif